import { SerializeStream } from "../../Framework/Serialize/SerializeStream";
import { MarshalException } from "../../Engine/RMI/MarshalException";
type int = number;
//class ESkillUseType
    
    export  class ESkillUseType
    {
        constructor(arg1: int)
        {
            
            this.__value = arg1;
            return;
        }

        public value(): int
        {
            return this.__value;
        }

        public __write(arg1: SerializeStream): void
        {
            arg1.writeShort(this.__value);
            return;
        }

        public static convert(arg1: int): ESkillUseType
        {
            return new ESkillUseType(arg1);
        }

        public static __read(arg1: SerializeStream): ESkillUseType
        {
            var loc1=arg1.readShort();
            if (loc1 < 0 || loc1 >= 129) 
            {
                throw new MarshalException();
            }
            return ESkillUseType.convert(loc1);
        }

        public static /* const */_ESkillUseTypeInitiative: int=0;

        public static /* const */_ESkillUseTypeBeAttacked: int=1;

        public static /* const */_ESkillUseTypeToAttack: int=2;

        public static /* const */_ESkillUseTypeLifeLess: int=4;

        public static /* const */_ESkillUseTypeDie: int=8;

        public static /* const */_ESkillUseTypeLearn: int=16;

        public static /* const */_ESkillUseTypeSummon: int=32;

        public static /* const */_ESkillUseTypeTargetBeAttacked: int=64;

        public static /* const */_ESkillUseTypeAuto: int=128;

        public /* var */__value: int;
    }
